An Effective SMT Engine for Formal Verification
نویسنده
چکیده
Formal methods are becoming increasingly important for debugging and verifying hardware and software systems, whose current complexity makes the traditional approaches based on testing increasingly-less adequate. One of the most promising research directions in formal verification is based on the exploitation of Satisfiability Modulo Theories (SMT) solvers. In this thesis, we present MathSAT, a modern, efficient SMT solver that provides several important functionalities, and can be used as a workhorse engine in formal verification. We develop novel algorithms for two functionalities which are very important in verification – the extraction of unsatisfiable cores and the generation of Craig interpolants in SMT – that significantly advance the state of the art, taking full advantage of modern SMT techniques. Moreover, in order to demonstrate the usefulness and potential of SMT in verification, we develop a novel technique for software model checking, that fully exploits the power and functionalities of the SMT engine, showing that this leads to significant improvements in performance.
منابع مشابه
Word-level Formal Verification Using Abstract Satisfaction
With the ever-increasing complexity of hardware (HW) and SoC-based designs for mobile platforms, demand for scalable formal verification tools in the semi-conductor industry is always growing. The scalability of hardware model checking tools depends on three key factors: the design representation, the verification engine, and the proof engine. Conventional SAT-based bit-level formal property ch...
متن کاملSmten: Automatic Translation of High-Level Symbolic Computations into SMT Queries
Development of computer aided verification tools has greatly benefited from SMT technologies; instead of writing an ad-hoc reasoning engine, designers translate their problem into SMT queries which solvers can efficiently solve. Translating a problem into effective SMT queries, however, is itself a tedious, error-prone, and non-trivial task. This paper introduces Smten, a tool for automatically...
متن کاملSTABLE: Combining Satisfiability Solving, Boolean Reasoning and Computer Algebra for System-on-Chip Verification
This paper presents a new satisfiability (SAT) modulo Theory (SMT) solver, STABLE, for formulas of the quantifierfree logic over fixed-sized bit vectors (QF-BV). As the primary application domain for STABLE we target an SMT-based property checking flow for System-on-Chip (SoC) designs. STABLE integrates a computer-algebra-based engine which provides algorithms for proving arithmetic problem par...
متن کاملSmacC: A Retargetable Symbolic Execution Engine
SmacC is a symbolic execution engine for C programs. It can be used for program verification, bounded model checking and generating SMT benchmarks. More recently we also successfully applied SmacC for high-level timing analysis of programs to infer exact loop bounds and safe over-approximations. SmacC uses the logic for bit-vectors with arrays to construct a bit-precise memorymodel of a program...
متن کاملAn SMT-LIB Theory of Binary Floating-Point Arithmetic∗
Floating-point arithmetic is an essential ingredient of embedded systems, such as in the avionics and automotive industries. By nature, many of these applications are safety-critical, requiring rigorous mathematical methods such as model checking to verify the adherence to safety standards. One of the bottlenecks in comparing different approaches to the floating-point program verification probl...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009